const { REDIS_CONF } = require('../config/db')
const redis = require('redis')
//配置redis客户端
const redisClient = redis.createClient(REDIS_CONF.port, REDIS_CONF.host)
redisClient.on('error', err => {
  console.error(err);
})//用来捕获错误的

// function set(key, val) {
//   if (typeof val === 'object') {
//     val = JSON.stringify(val)
//   }//这里是想来将这个value转为字符串，因为这是规定，但是为什么不设置这个键呢
//   redisClient.set(key, val, redis.print)//这个是用来测试打印成功或是执行失败
// }


// function get(key) {
//   const promise = new Promise((resolve, reject) => {
//     redisClient.get(key, (err, val) => {
//       if (err) {
//         reject(err)
//         return
//       }
//       if (val === null) {//我没有在redis里找到我所对应的值
//         resolve(null)
//       }

//       try {
//         resolve(JSON.parse(val))//如果它是一个string转换失败

//       } catch (err) {
//         resolve(err)//不是异常捕获，这一点再去理解理解
//       }
//     })
//   })
//   return promise
// }


module.exports = redisClient  //这里有一个坑就是，不能加括号，对于单个函数的，直接导出，不加括号